package com.cjkj.system.domain.vo;

import com.cjkj.common.core.domain.runset.RunSetParam;
import com.cjkj.common.sensitive.annotation.Sensitive;
import com.cjkj.common.sensitive.enums.DesensitizedType;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

@Data
public class PatientDetailInfoVo {

    /** 就诊号 */
    private Long visitNo;
    /** 就诊号字符串，防止数字精度丢失*/
    private String visitNoStr;
    public String getVisitNoStr() {
        return visitNo.toString();
    }
    /** 患者ID*/
    private Long patientId;
    /** 患者ID字符串，防止数字精度丢失*/
    private String patientIdStr;
    public String getPatientIdStr() {
        return patientId.toString();
    }
    /** 姓名 */
    private String patientName;
    /** 身份证 */
    @Sensitive(desensitizedType = DesensitizedType.ID_CARD)
    private String identityNumber;
    /** 手机号 */
    private String phone;
    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthday;
    /** 年龄 */
    private Integer age;
    /** 性别 */
    private String gender;
    /** 就诊地 */
    private String place;
    /** 诊断 */
    private String diagnosis;
    /** 省 */
    private String province;
    /** 市 */
    private String city;
    /** 区 */
    private String district;
    /** 地址详情 */
    private String address;
    /** 医院ID */
    private String hospitalId;
    /** 医院 */
    private String hospitalName;
    /** 科室ID */
    private String deptId;
    /** 科室 */
    private String deptName;
    /** 床位号 */
    private String bedNo;
    /** 疗程天数 */
    private Integer rentalDays;
    /** 就诊时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date visitTime;
    /** 就诊状态（0=就诊中；1=就诊结束） */
    private String visitStatus;
    /** 出院时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date outTime;
    /** 设备编号 */
    private String equipmentNo;
    /** 传感器编号 */
    private String sensorSeq;
    /** 数据类型 */
    private String dataType;

    /** 运行模式 */
    private String mode;
    /** 运行参数 */
    private RunSetParam runSet;
}
